home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 1 / PC World Interactive 1 - Nisan 1997.iso / nostalji / bbs / music / sbbook.arj / SBBOOK / SOURCE / SBSIMDMO / DRVRFUNC.H < prev    next >
Encoding:
C/C++ Source or Header  |  1993-12-20  |  3.7 KB  |  110 lines

  1. #ifndef DVRFUNCS_H
  2. #define DVRFUNCS_H
  3.  
  4. //----------------------
  5. // CONSTANT DEFINITIONS
  6. //----------------------
  7. #define FALSE             0
  8. #define TRUE              1
  9.  
  10. #define MISSING           0
  11. #define LOADED            1
  12.  
  13. #define STOPPED           0
  14. #define PLAYING           1
  15. #define PAUSED            2
  16.  
  17. #define EXTENDED_MEM_VOC  1
  18.  
  19. //-------------------
  20. // MACRO DEFINITIONS
  21. //-------------------
  22. #define HIBYTE(word) (word >> 8)
  23. #define LOBYTE(word) (word & 0x0ff)
  24.  
  25. #ifndef MK_FP
  26. // makes a far pointer
  27. #define MK_FP(seg,ofs)((char _far *)((unsigned long)seg << 16) + ofs)
  28. #endif
  29.  
  30. //--------------
  31. // ENUMERATIONS
  32. //--------------
  33. // SBSIM Error messages
  34. typedef enum {SIMerr_NoErr,                          // No error occured
  35.                             SIMerr_IsBusy,                         // SBSIM currently in use
  36.                             SIMerr_BadDriver,                  // Bad driver specified
  37.                             SIMerr_BadFunction,              // Bad function specified
  38.                             SIMerr_VoiceActive,              // A voice process is already active
  39.                             SIMerr_VMEMnoStart,              // Couldn't start CT-VOICE
  40.                             SIMerr_VDSKnoStart,              // Couldn't start CTVDSK
  41.                             SIMerr_BadSIMhandle,             // Invalid SBSIM handle
  42.                             SIMerr_BadBuffer,                  // Buffer not initialized yet
  43.                             SIMerr_BadFile,                      // Bad file name given
  44.                             SIMerr_BadFileHandle,          // Bad file handle
  45.                             SIMerr_NotInited,                  // Driver not started yet
  46.                             SIMerr_NoXMS,                          // XMS driver not installed
  47.                             SIMerr_NoSIMfree,                  // No free SBSIM handles
  48.                             SIMerr_BadFileType,              // Bad file type specified
  49.                             SIMerr_BadFreeXMS,                 // Couldn't free XMS block
  50.                             SIMerr_AuxBadSource,             // Invalid source selected
  51.                             SIMerr_BadPanGet,                  // Get pan position failed
  52.                             SIMerr_BadPanSet,                  // Set pan position failed
  53.                             SIMerr_BadVolSet,                  // Set volume failed
  54.                             SIMerr_FPbadStart,                 // Couldn't start fade/pan
  55.                             SIMerr_FPbadStop,                  // Couldn't stop fade/pan
  56.                             SIMerr_FPbadPause,                 // Couldn't pause fade/pan
  57.                             SIMerr_FPbadType,                  // Not a fade/pan operation
  58.                             SIMerr_FPbadMode,                  // Bad mode for fade/pan
  59.                             SIMerr_FPfailed,                     // Couldn't start fade/pan
  60.                             SIMerr_FPnotFadePan,             // Source not fading/panning
  61.                             SIMerr_MusicActive,              // FM or MIDI already playing
  62.                             SIMerr_BadMapper                     // Bad MIDI mapper format
  63.                             } SIMERR;
  64.  
  65. typedef enum {FM, DskVoice, MemVoice, AuxDrv, Midi} DRIVER;
  66. typedef enum {MASTER, VOICE, SYNTH, CD, LINE, MIC} SOURCE;
  67.  
  68. //------------------------
  69. // STRUCTURE DEFINITIONS
  70. //------------------------
  71. // driver information structure
  72. typedef struct
  73. {
  74.     int status;
  75.     long entry;
  76.     long bufLoc;
  77.     unsigned int bufSize;
  78. } DVRINFO;
  79.  
  80. //------------------
  81. // GLOBAL VARIABLES
  82. //------------------
  83. extern int SIMint;
  84. extern char *errorMsg[];
  85.  
  86. //------------------------
  87. // FUNCTION DECLARATIONS
  88. //------------------------
  89. int GetDvrInfo(DRIVER driver, DVRINFO *dvrInfo);
  90. unsigned Version(void);
  91. unsigned GetDrvrs(void);
  92. SIMERR GetAddress(DRIVER driver, long *address);
  93. SIMERR GetBufInfo(DRIVER driver, long *address, unsigned *size);
  94. SIMERR StartSnd(DRIVER driver, void far *ptr, char type, int SBSIMHandle);
  95. unsigned GetSndStat(DRIVER driver);
  96. SIMERR PlaySnd(DRIVER driver);
  97. void StopSnd(DRIVER driver);
  98. void PauseSnd(DRIVER driver);
  99. void ResumeSnd(DRIVER driver);
  100. SIMERR GetVolume(SOURCE source, unsigned *volume);
  101. SIMERR SetVolume(SOURCE source, unsigned volume);
  102. SIMERR GetGain(int direction, unsigned *level);
  103. SIMERR SetGain(int direction, unsigned level);
  104. SIMERR GetTone(int band, unsigned *level);
  105. SIMERR SetTone(int band, unsigned level);
  106. unsigned FindDvr(char *IDStr, unsigned int IDOff);
  107. SIMERR LoadExtMem(void far *Ptr);
  108. SIMERR FreeExtMem(int SBSIMHandle);
  109. #endif
  110.